🖥️ linux | August 22, 2021
bash 쉘의 기능 및 사용법을 조금 더 구체적으로 배워봅시다!
shell에서 특별한 의미를 정해 놓은 문자들
\
, ?
, ()
, $
, ...
, *
, %
, {}
, []
등Backslash(\
)
\
바로 뒤의 메타 문자는 특별한 의미를 제거Double Quotes(""
)
" "
내의 모든 메타문자의 의미를 제거. 단 $, ``
은 제외Single Quotes(''
)
''
내의 모든 메타문자의 의미를 제거""
) 와의 차이점은 $, ``
리눅스 명령어를 함께 사용하고 싶을 때 사용
''
) 에서는 적용이 안되고 그대로 텍스트로 출력하는 모습을 확인응용버전
$ alias [이름]=['원하는 명령어']
$ alias or alias [이름]
$ unalias [이름]
좋은 팁!
리눅스의 rm
명령어는 일반적으로 묻지도 따지지도 않고 바로 지워버리는데, 이를 방지하는 기능이 -i
옵션입니다. 이를 매번 입력하기 귀찮으니 alias rm='rm -i'
를 기본값으로 등록해서 사용합시다.
PS1
변수를 이용해 shell의 기본 프롬프트 모양을 설정특수문자 | 의미 |
---|---|
\h |
호스트 이름 |
\u |
사용자 이름 |
\w |
작업 디렉토리 - 절대경로 |
\W |
작업 디렉토리 - 상대경로 |
\d |
오늘 날짜 |
\t |
현재 시간 |
\$ |
$ 또는 # 프롬프트 모양 |
프롬프트 수정
PS1
변수에 [사용자 이름, 호스트 이름, 상대경로], 프롬프트 모양 표시를 넣었습니다..bashrc
파일에 등록하여 영구적으로 반영하기
바꾸기 전 기본형
입출력 방향을 반대로 바꾸는 redirection 기호
0<
: 입력을 키보드가 아닌 파일을 통해 받음$ mysql 0< test.sql
1>
: 표준 출력을 터미널이 아닌 파일로 출력$ cat 1> test.txt
2>
: 표준 에러 출력을 터미널이 아닌 파일로 출력알고가기!
에러메시지를 없애는 방법은 /dev/null
경로에 commands 2> /dev/null
형태로 넣으면 에러메시지가 보이지 않습니다.
/dev/null
파일은 안에 어떤 파일이든 지워버리는 소각장 같은 개념기호는 |
를 사용합니다.
wc -l
명령어를 사용한 예시wc -l
명령어를 사용하게 되는데, 이것을 파이프라인을 이용해 응용하면 다음과 같은 작업을 할 수 있습니다.# 1. ls 명령어로 현재 디렉토리의 파일을 보여줌
# 2. 이전의 ls 명령을 이어받아 wc -l 명령어를 통해 출력되는 라인의 수를 치환해줍니다.
# 결과: 4 - 현재 디렉토리 폴더에 파일이 4개 있는 것을 의미
$ ls | wc -l
/etc/passwd
파일 안에 사용자의 수를 확인하고 싶을 때
$ cat /etc/passwd
cut
명령어 추가로 사용자만 출력
-d
: split를(구분) 위한 값 명시, 여기서는 :
로 사용됨, 아무 설정이 없다면 기본값은 TAB-f
: n번째 필드를 의미$ cat /etc/passwd | cut -d: -f 1
wc -l
명령까지 사용해 사용자 개수를 출력